package com.ruoyi.factorydata.domain.vo;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.factorydata.domain.ProductionProjectProductionInfo;
import lombok.Builder;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Builder
@Data
public class ProductionProjectVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    private Long id;


    /**
     * 项目编号
     */
    private String projectCode;

    /**
     * 生产订单号
     */
    @Excel(name = "生产订单号")
    private String productionOrderNumber;

    /**
     * 客户id
     */
    @Excel(name = "客户id")
    private Long customerId;
    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;
    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerCode;
    /**
     * 订单来源
     */
    @Excel(name = "订单来源")
    private String orderSource;

    /**
     * 模板id
     */
    @Excel(name = "模板id")
    private String templateId;

    /**
     * 优先级
     */
    @Excel(name = "优先级")
    private String priority;

    /**
     * 表征需求
     */
    @Excel(name = "表征需求")
    private String characterizationRequirement;

    /**
     * 外观需求
     */
    @Excel(name = "外观需求")
    private String surfaceRequirement;
    /**
     * 项目目标
     */
    private String target;
    /**
     * 附件
     */
    private String attachments;

    /**
     * 项目负责人
     */
    @Excel(name = "项目负责人")
    private Long projectManager;

    /**
     * 项目负责人
     */
    @Excel(name = "项目负责人")
    private String projectManagerName;
    /**
     * 状态
     */
    @Excel(name = "状态")
    private String status;


    /**
     * 批次数量
     */
    private String batchQuantity;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableLogic(value = "0", delval = "2")
    private String delFlag;

    /**
     * 版本号
     */
    @Version
    private Long version;

    /** 创建者 */
    private String createBy;
    /** 创建者 */
    private String createByName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 备注 */
    private String remark;

    private List<ProductionProjectProductionInfo> productionProjectProductionInfoList;
}
